2025 iThome 鐵人賽
分享至
今天來練習看看經典遞迴習題:八皇后問題的繪製版本。由於 Typst 的函數必須是純函數 (除非使用 state),我們可以在傳入參數時順便告知目前在找的是第幾組解,這麼一來在搜索過程中,如果找到了它就可以馬上停止計算。
要找到第一組解的話,只需要:
#let (_, answer, _) = eight-queen(8, (0,), 0, 1, ());
接著就可以繪製出棋盤和皇后位置:
結果如下:
IT邦幫忙